# Project 12 超音波追従スマートカー

### **1.説明**
このプロジェクトでは、超音波センサーを使って4WDスマートカーと前方の障害物との距離を検出し、2つのモーターを制御して車を動かし、8\*8 LEDボードに笑顔のパターンを表示させます。
### **2.フローチャート**

| 検出 |
前方障害物の測定距離 |
距離(単位:cm) |
| 設定 |
8*16 LEDボードに笑顔のパターンを表示 |
|
|
サーボを90°に設定 |
|
| 条件 |
距離≥20 かつ 距離≤50 |
|
| 状態 |
前進 |
|
| 条件 |
距離>10 かつ 距離<20 |
|
|
距離>50 |
|
| 条件 |
停止 |
|
| 条件 |
距離≤10 |
|
| 条件 |
後退 |
|
### **3.配線図**

**配線方法:**
1). 8\*8 LEDボードのGND、VCC、SDA、SCLを拡張ボードのG(GND)、V(VCC)、A4、A5に接続します。
2). 超音波センサーのVCC、Trig、Echo、Gndをそれぞれ5V(V)、D12(S)、D13(S)、Gnd(G)に接続します。
3). サーボはG、V、A3に接続します。茶色の線はGnd(G)、赤色の線は5V(V)、オレンジ色の線はA3に接続します。
4). 電源はBATポートに接続します。
### **4.テストコード**
コードを書く前に、超音波センサー、8x16 LEDボード、サーボのライブラリファイルをインポートする必要があります。具体的な手順は以下の通りです:
センサー/モジュール/コンポーネントの拡張ライブラリ画面に入るには  をクリックし、「Ultrasonic」センサーを検索して  をクリックします。
これで「**Not loaded**」が「**loaded**」に変わり、「**Ultrasonic**」センサーが正常に追加されたことを示します。


8x16 LEDボードとサーボのライブラリファイルも超音波センサーと同様に追加します。
 をクリックしてコードエディタ画面に戻ると、追加した「**Ultrasonic**」センサー、「**Matrix 8\*16 Aip1640**」モジュール、「**Servo**」コンポーネントの命令ブロックがモジュールエリアに表示されます。

ブロックをドラッグして編集できます。以下のブロックは参考用です。
(1).
(2).
(3).
(4).
(5).
(6).
(7).
(8).
(9).
**完成したテストコード**



### **5.テスト結果**
コードをV4.0ボードに正常にアップロードした後、配線図に従って配線し、外部電源を入れてDIPスイッチをONにします。サーボを90°に設定すると、スマートカーは障害物に合わせて動き、8X16 LEDボードに「smile」が表示されます。